/*
 * Copyright (c) 2000-2018, 达梦数据库有限公司.
 * All rights reserved.
 */
package dm

import (
	"bytes"
	"golang.org/x/text/encoding"
	"golang.org/x/text/encoding/ianaindex"
	"golang.org/x/text/transform"
	"io"
	"io/ioutil"
	"math"
)

type dm_build_932 struct{}

var Dm_build_933 = &dm_build_932{}

func (Dm_build_935 *dm_build_932) Dm_build_934(dm_build_936 []byte, dm_build_937 int, dm_build_938 byte) int {
	dm_build_936[dm_build_937] = dm_build_938
	return 1
}

func (Dm_build_940 *dm_build_932) Dm_build_939(dm_build_941 []byte, dm_build_942 int, dm_build_943 int8) int {
	dm_build_941[dm_build_942] = byte(dm_build_943)
	return 1
}

func (Dm_build_945 *dm_build_932) Dm_build_944(dm_build_946 []byte, dm_build_947 int, dm_build_948 int16) int {
	dm_build_946[dm_build_947] = byte(dm_build_948)
	dm_build_947++
	dm_build_946[dm_build_947] = byte(dm_build_948 >> 8)
	return 2
}

func (Dm_build_950 *dm_build_932) Dm_build_949(dm_build_951 []byte, dm_build_952 int, dm_build_953 int32) int {
	dm_build_951[dm_build_952] = byte(dm_build_953)
	dm_build_952++
	dm_build_951[dm_build_952] = byte(dm_build_953 >> 8)
	dm_build_952++
	dm_build_951[dm_build_952] = byte(dm_build_953 >> 16)
	dm_build_952++
	dm_build_951[dm_build_952] = byte(dm_build_953 >> 24)
	dm_build_952++
	return 4
}

func (Dm_build_955 *dm_build_932) Dm_build_954(dm_build_956 []byte, dm_build_957 int, dm_build_958 int64) int {
	dm_build_956[dm_build_957] = byte(dm_build_958)
	dm_build_957++
	dm_build_956[dm_build_957] = byte(dm_build_958 >> 8)
	dm_build_957++
	dm_build_956[dm_build_957] = byte(dm_build_958 >> 16)
	dm_build_957++
	dm_build_956[dm_build_957] = byte(dm_build_958 >> 24)
	dm_build_957++
	dm_build_956[dm_build_957] = byte(dm_build_958 >> 32)
	dm_build_957++
	dm_build_956[dm_build_957] = byte(dm_build_958 >> 40)
	dm_build_957++
	dm_build_956[dm_build_957] = byte(dm_build_958 >> 48)
	dm_build_957++
	dm_build_956[dm_build_957] = byte(dm_build_958 >> 56)
	return 8
}

func (Dm_build_960 *dm_build_932) Dm_build_959(dm_build_961 []byte, dm_build_962 int, dm_build_963 float32) int {
	return Dm_build_960.Dm_build_979(dm_build_961, dm_build_962, math.Float32bits(dm_build_963))
}

func (Dm_build_965 *dm_build_932) Dm_build_964(dm_build_966 []byte, dm_build_967 int, dm_build_968 float64) int {
	return Dm_build_965.Dm_build_984(dm_build_966, dm_build_967, math.Float64bits(dm_build_968))
}

func (Dm_build_970 *dm_build_932) Dm_build_969(dm_build_971 []byte, dm_build_972 int, dm_build_973 uint8) int {
	dm_build_971[dm_build_972] = byte(dm_build_973)
	return 1
}

func (Dm_build_975 *dm_build_932) Dm_build_974(dm_build_976 []byte, dm_build_977 int, dm_build_978 uint16) int {
	dm_build_976[dm_build_977] = byte(dm_build_978)
	dm_build_977++
	dm_build_976[dm_build_977] = byte(dm_build_978 >> 8)
	return 2
}

func (Dm_build_980 *dm_build_932) Dm_build_979(dm_build_981 []byte, dm_build_982 int, dm_build_983 uint32) int {
	dm_build_981[dm_build_982] = byte(dm_build_983)
	dm_build_982++
	dm_build_981[dm_build_982] = byte(dm_build_983 >> 8)
	dm_build_982++
	dm_build_981[dm_build_982] = byte(dm_build_983 >> 16)
	dm_build_982++
	dm_build_981[dm_build_982] = byte(dm_build_983 >> 24)
	return 3
}

func (Dm_build_985 *dm_build_932) Dm_build_984(dm_build_986 []byte, dm_build_987 int, dm_build_988 uint64) int {
	dm_build_986[dm_build_987] = byte(dm_build_988)
	dm_build_987++
	dm_build_986[dm_build_987] = byte(dm_build_988 >> 8)
	dm_build_987++
	dm_build_986[dm_build_987] = byte(dm_build_988 >> 16)
	dm_build_987++
	dm_build_986[dm_build_987] = byte(dm_build_988 >> 24)
	dm_build_987++
	dm_build_986[dm_build_987] = byte(dm_build_988 >> 32)
	dm_build_987++
	dm_build_986[dm_build_987] = byte(dm_build_988 >> 40)
	dm_build_987++
	dm_build_986[dm_build_987] = byte(dm_build_988 >> 48)
	dm_build_987++
	dm_build_986[dm_build_987] = byte(dm_build_988 >> 56)
	return 3
}

func (Dm_build_990 *dm_build_932) Dm_build_989(dm_build_991 []byte, dm_build_992 int, dm_build_993 []byte, dm_build_994 int, dm_build_995 int) int {
	copy(dm_build_991[dm_build_992:dm_build_992+dm_build_995], dm_build_993[dm_build_994:dm_build_994+dm_build_995])
	return dm_build_995
}

func (Dm_build_997 *dm_build_932) Dm_build_996(dm_build_998 []byte, dm_build_999 int, dm_build_1000 []byte, dm_build_1001 int, dm_build_1002 int) int {
	dm_build_999 += Dm_build_997.Dm_build_979(dm_build_998, dm_build_999, uint32(dm_build_1002))
	return 4 + Dm_build_997.Dm_build_989(dm_build_998, dm_build_999, dm_build_1000, dm_build_1001, dm_build_1002)
}

func (Dm_build_1004 *dm_build_932) Dm_build_1003(dm_build_1005 []byte, dm_build_1006 int, dm_build_1007 []byte, dm_build_1008 int, dm_build_1009 int) int {
	dm_build_1006 += Dm_build_1004.Dm_build_974(dm_build_1005, dm_build_1006, uint16(dm_build_1009))
	return 2 + Dm_build_1004.Dm_build_989(dm_build_1005, dm_build_1006, dm_build_1007, dm_build_1008, dm_build_1009)
}

func (Dm_build_1011 *dm_build_932) Dm_build_1010(dm_build_1012 []byte, dm_build_1013 int, dm_build_1014 string, dm_build_1015 string, dm_build_1016 *DmConnection) int {
	dm_build_1017 := Dm_build_1011.Dm_build_1149(dm_build_1014, dm_build_1015, dm_build_1016)
	dm_build_1013 += Dm_build_1011.Dm_build_979(dm_build_1012, dm_build_1013, uint32(len(dm_build_1017)))
	return 4 + Dm_build_1011.Dm_build_989(dm_build_1012, dm_build_1013, dm_build_1017, 0, len(dm_build_1017))
}

func (Dm_build_1019 *dm_build_932) Dm_build_1018(dm_build_1020 []byte, dm_build_1021 int, dm_build_1022 string, dm_build_1023 string, dm_build_1024 *DmConnection) int {
	dm_build_1025 := Dm_build_1019.Dm_build_1149(dm_build_1022, dm_build_1023, dm_build_1024)

	dm_build_1021 += Dm_build_1019.Dm_build_974(dm_build_1020, dm_build_1021, uint16(len(dm_build_1025)))
	return 2 + Dm_build_1019.Dm_build_989(dm_build_1020, dm_build_1021, dm_build_1025, 0, len(dm_build_1025))
}

func (Dm_build_1027 *dm_build_932) Dm_build_1026(dm_build_1028 []byte, dm_build_1029 int) byte {
	return dm_build_1028[dm_build_1029]
}

func (Dm_build_1031 *dm_build_932) Dm_build_1030(dm_build_1032 []byte, dm_build_1033 int) int16 {
	var dm_build_1034 int16
	dm_build_1034 = int16(dm_build_1032[dm_build_1033] & 0xff)
	dm_build_1033++
	dm_build_1034 |= int16(dm_build_1032[dm_build_1033]&0xff) << 8
	return dm_build_1034
}

func (Dm_build_1036 *dm_build_932) Dm_build_1035(dm_build_1037 []byte, dm_build_1038 int) int32 {
	var dm_build_1039 int32
	dm_build_1039 = int32(dm_build_1037[dm_build_1038] & 0xff)
	dm_build_1038++
	dm_build_1039 |= int32(dm_build_1037[dm_build_1038]&0xff) << 8
	dm_build_1038++
	dm_build_1039 |= int32(dm_build_1037[dm_build_1038]&0xff) << 16
	dm_build_1038++
	dm_build_1039 |= int32(dm_build_1037[dm_build_1038]&0xff) << 24
	return dm_build_1039
}

func (Dm_build_1041 *dm_build_932) Dm_build_1040(dm_build_1042 []byte, dm_build_1043 int) int64 {
	var dm_build_1044 int64
	dm_build_1044 = int64(dm_build_1042[dm_build_1043] & 0xff)
	dm_build_1043++
	dm_build_1044 |= int64(dm_build_1042[dm_build_1043]&0xff) << 8
	dm_build_1043++
	dm_build_1044 |= int64(dm_build_1042[dm_build_1043]&0xff) << 16
	dm_build_1043++
	dm_build_1044 |= int64(dm_build_1042[dm_build_1043]&0xff) << 24
	dm_build_1043++
	dm_build_1044 |= int64(dm_build_1042[dm_build_1043]&0xff) << 32
	dm_build_1043++
	dm_build_1044 |= int64(dm_build_1042[dm_build_1043]&0xff) << 40
	dm_build_1043++
	dm_build_1044 |= int64(dm_build_1042[dm_build_1043]&0xff) << 48
	dm_build_1043++
	dm_build_1044 |= int64(dm_build_1042[dm_build_1043]&0xff) << 56
	return dm_build_1044
}

func (Dm_build_1046 *dm_build_932) Dm_build_1045(dm_build_1047 []byte, dm_build_1048 int) float32 {
	return math.Float32frombits(Dm_build_1046.Dm_build_1062(dm_build_1047, dm_build_1048))
}

func (Dm_build_1050 *dm_build_932) Dm_build_1049(dm_build_1051 []byte, dm_build_1052 int) float64 {
	return math.Float64frombits(Dm_build_1050.Dm_build_1067(dm_build_1051, dm_build_1052))
}

func (Dm_build_1054 *dm_build_932) Dm_build_1053(dm_build_1055 []byte, dm_build_1056 int) uint8 {
	return uint8(dm_build_1055[dm_build_1056] & 0xff)
}

func (Dm_build_1058 *dm_build_932) Dm_build_1057(dm_build_1059 []byte, dm_build_1060 int) uint16 {
	var dm_build_1061 uint16
	dm_build_1061 = uint16(dm_build_1059[dm_build_1060] & 0xff)
	dm_build_1060++
	dm_build_1061 |= uint16(dm_build_1059[dm_build_1060]&0xff) << 8
	return dm_build_1061
}

func (Dm_build_1063 *dm_build_932) Dm_build_1062(dm_build_1064 []byte, dm_build_1065 int) uint32 {
	var dm_build_1066 uint32
	dm_build_1066 = uint32(dm_build_1064[dm_build_1065] & 0xff)
	dm_build_1065++
	dm_build_1066 |= uint32(dm_build_1064[dm_build_1065]&0xff) << 8
	dm_build_1065++
	dm_build_1066 |= uint32(dm_build_1064[dm_build_1065]&0xff) << 16
	dm_build_1065++
	dm_build_1066 |= uint32(dm_build_1064[dm_build_1065]&0xff) << 24
	return dm_build_1066
}

func (Dm_build_1068 *dm_build_932) Dm_build_1067(dm_build_1069 []byte, dm_build_1070 int) uint64 {
	var dm_build_1071 uint64
	dm_build_1071 = uint64(dm_build_1069[dm_build_1070] & 0xff)
	dm_build_1070++
	dm_build_1071 |= uint64(dm_build_1069[dm_build_1070]&0xff) << 8
	dm_build_1070++
	dm_build_1071 |= uint64(dm_build_1069[dm_build_1070]&0xff) << 16
	dm_build_1070++
	dm_build_1071 |= uint64(dm_build_1069[dm_build_1070]&0xff) << 24
	dm_build_1070++
	dm_build_1071 |= uint64(dm_build_1069[dm_build_1070]&0xff) << 32
	dm_build_1070++
	dm_build_1071 |= uint64(dm_build_1069[dm_build_1070]&0xff) << 40
	dm_build_1070++
	dm_build_1071 |= uint64(dm_build_1069[dm_build_1070]&0xff) << 48
	dm_build_1070++
	dm_build_1071 |= uint64(dm_build_1069[dm_build_1070]&0xff) << 56
	return dm_build_1071
}

func (Dm_build_1073 *dm_build_932) Dm_build_1072(dm_build_1074 []byte, dm_build_1075 int) []byte {
	dm_build_1076 := Dm_build_1073.Dm_build_1062(dm_build_1074, dm_build_1075)

	dm_build_1077 := make([]byte, dm_build_1076)
	copy(dm_build_1077[:int(dm_build_1076)], dm_build_1074[dm_build_1075+4:dm_build_1075+4+int(dm_build_1076)])
	return dm_build_1077
}

func (Dm_build_1079 *dm_build_932) Dm_build_1078(dm_build_1080 []byte, dm_build_1081 int) []byte {
	dm_build_1082 := Dm_build_1079.Dm_build_1057(dm_build_1080, dm_build_1081)

	dm_build_1083 := make([]byte, dm_build_1082)
	copy(dm_build_1083[:int(dm_build_1082)], dm_build_1080[dm_build_1081+2:dm_build_1081+2+int(dm_build_1082)])
	return dm_build_1083
}

func (Dm_build_1085 *dm_build_932) Dm_build_1084(dm_build_1086 []byte, dm_build_1087 int, dm_build_1088 int) []byte {

	dm_build_1089 := make([]byte, dm_build_1088)
	copy(dm_build_1089[:dm_build_1088], dm_build_1086[dm_build_1087:dm_build_1087+dm_build_1088])
	return dm_build_1089
}

func (Dm_build_1091 *dm_build_932) Dm_build_1090(dm_build_1092 []byte, dm_build_1093 int, dm_build_1094 int, dm_build_1095 string, dm_build_1096 *DmConnection) string {
	return Dm_build_1091.Dm_build_1185(dm_build_1092[dm_build_1093:dm_build_1093+dm_build_1094], dm_build_1095, dm_build_1096)
}

func (Dm_build_1098 *dm_build_932) Dm_build_1097(dm_build_1099 []byte, dm_build_1100 int, dm_build_1101 string, dm_build_1102 *DmConnection) string {
	dm_build_1103 := Dm_build_1098.Dm_build_1062(dm_build_1099, dm_build_1100)
	dm_build_1100 += 4
	return Dm_build_1098.Dm_build_1090(dm_build_1099, dm_build_1100, int(dm_build_1103), dm_build_1101, dm_build_1102)
}

func (Dm_build_1105 *dm_build_932) Dm_build_1104(dm_build_1106 []byte, dm_build_1107 int, dm_build_1108 string, dm_build_1109 *DmConnection) string {
	dm_build_1110 := Dm_build_1105.Dm_build_1057(dm_build_1106, dm_build_1107)
	dm_build_1107 += 2
	return Dm_build_1105.Dm_build_1090(dm_build_1106, dm_build_1107, int(dm_build_1110), dm_build_1108, dm_build_1109)
}

func (Dm_build_1112 *dm_build_932) Dm_build_1111(dm_build_1113 byte) []byte {
	return []byte{dm_build_1113}
}

func (Dm_build_1115 *dm_build_932) Dm_build_1114(dm_build_1116 int8) []byte {
	return []byte{byte(dm_build_1116)}
}

func (Dm_build_1118 *dm_build_932) Dm_build_1117(dm_build_1119 int16) []byte {
	return []byte{byte(dm_build_1119), byte(dm_build_1119 >> 8)}
}

func (Dm_build_1121 *dm_build_932) Dm_build_1120(dm_build_1122 int32) []byte {
	return []byte{byte(dm_build_1122), byte(dm_build_1122 >> 8), byte(dm_build_1122 >> 16), byte(dm_build_1122 >> 24)}
}

func (Dm_build_1124 *dm_build_932) Dm_build_1123(dm_build_1125 int64) []byte {
	return []byte{byte(dm_build_1125), byte(dm_build_1125 >> 8), byte(dm_build_1125 >> 16), byte(dm_build_1125 >> 24), byte(dm_build_1125 >> 32),
		byte(dm_build_1125 >> 40), byte(dm_build_1125 >> 48), byte(dm_build_1125 >> 56)}
}

func (Dm_build_1127 *dm_build_932) Dm_build_1126(dm_build_1128 float32) []byte {
	return Dm_build_1127.Dm_build_1138(math.Float32bits(dm_build_1128))
}

func (Dm_build_1130 *dm_build_932) Dm_build_1129(dm_build_1131 float64) []byte {
	return Dm_build_1130.Dm_build_1141(math.Float64bits(dm_build_1131))
}

func (Dm_build_1133 *dm_build_932) Dm_build_1132(dm_build_1134 uint8) []byte {
	return []byte{byte(dm_build_1134)}
}

func (Dm_build_1136 *dm_build_932) Dm_build_1135(dm_build_1137 uint16) []byte {
	return []byte{byte(dm_build_1137), byte(dm_build_1137 >> 8)}
}

func (Dm_build_1139 *dm_build_932) Dm_build_1138(dm_build_1140 uint32) []byte {
	return []byte{byte(dm_build_1140), byte(dm_build_1140 >> 8), byte(dm_build_1140 >> 16), byte(dm_build_1140 >> 24)}
}

func (Dm_build_1142 *dm_build_932) Dm_build_1141(dm_build_1143 uint64) []byte {
	return []byte{byte(dm_build_1143), byte(dm_build_1143 >> 8), byte(dm_build_1143 >> 16), byte(dm_build_1143 >> 24), byte(dm_build_1143 >> 32), byte(dm_build_1143 >> 40), byte(dm_build_1143 >> 48), byte(dm_build_1143 >> 56)}
}

func (Dm_build_1145 *dm_build_932) Dm_build_1144(dm_build_1146 []byte, dm_build_1147 string, dm_build_1148 *DmConnection) []byte {
	if dm_build_1147 == "UTF-8" {
		return dm_build_1146
	}

	if dm_build_1148 == nil {
		if e := dm_build_1190(dm_build_1147); e != nil {
			tmp, err := ioutil.ReadAll(
				transform.NewReader(bytes.NewReader(dm_build_1146), e.NewEncoder()),
			)
			if err != nil {
				panic("UTF8 To Charset error!")
			}

			return tmp
		}

		panic("Unsupported Charset!")
	}

	if dm_build_1148.encodeBuffer == nil {
		dm_build_1148.encodeBuffer = bytes.NewBuffer(nil)
		dm_build_1148.encode = dm_build_1190(dm_build_1148.getServerEncoding())
		dm_build_1148.transformReaderDst = make([]byte, 4096)
		dm_build_1148.transformReaderSrc = make([]byte, 4096)
	}

	if e := dm_build_1148.encode; e != nil {

		dm_build_1148.encodeBuffer.Reset()

		n, err := dm_build_1148.encodeBuffer.ReadFrom(
			Dm_build_1204(bytes.NewReader(dm_build_1146), e.NewEncoder(), dm_build_1148.transformReaderDst, dm_build_1148.transformReaderSrc),
		)
		if err != nil {
			panic("UTF8 To Charset error!")
		}
		var tmp = make([]byte, n)
		if _, err = dm_build_1148.encodeBuffer.Read(tmp); err != nil {
			panic("UTF8 To Charset error!")
		}
		return tmp
	}

	panic("Unsupported Charset!")
}

func (Dm_build_1150 *dm_build_932) Dm_build_1149(dm_build_1151 string, dm_build_1152 string, dm_build_1153 *DmConnection) []byte {
	return Dm_build_1150.Dm_build_1144([]byte(dm_build_1151), dm_build_1152, dm_build_1153)
}

func (Dm_build_1155 *dm_build_932) Dm_build_1154(dm_build_1156 []byte) byte {
	return Dm_build_1155.Dm_build_1026(dm_build_1156, 0)
}

func (Dm_build_1158 *dm_build_932) Dm_build_1157(dm_build_1159 []byte) int16 {
	return Dm_build_1158.Dm_build_1030(dm_build_1159, 0)
}

func (Dm_build_1161 *dm_build_932) Dm_build_1160(dm_build_1162 []byte) int32 {
	return Dm_build_1161.Dm_build_1035(dm_build_1162, 0)
}

func (Dm_build_1164 *dm_build_932) Dm_build_1163(dm_build_1165 []byte) int64 {
	return Dm_build_1164.Dm_build_1040(dm_build_1165, 0)
}

func (Dm_build_1167 *dm_build_932) Dm_build_1166(dm_build_1168 []byte) float32 {
	return Dm_build_1167.Dm_build_1045(dm_build_1168, 0)
}

func (Dm_build_1170 *dm_build_932) Dm_build_1169(dm_build_1171 []byte) float64 {
	return Dm_build_1170.Dm_build_1049(dm_build_1171, 0)
}

func (Dm_build_1173 *dm_build_932) Dm_build_1172(dm_build_1174 []byte) uint8 {
	return Dm_build_1173.Dm_build_1053(dm_build_1174, 0)
}

func (Dm_build_1176 *dm_build_932) Dm_build_1175(dm_build_1177 []byte) uint16 {
	return Dm_build_1176.Dm_build_1057(dm_build_1177, 0)
}

func (Dm_build_1179 *dm_build_932) Dm_build_1178(dm_build_1180 []byte) uint32 {
	return Dm_build_1179.Dm_build_1062(dm_build_1180, 0)
}

func (Dm_build_1182 *dm_build_932) Dm_build_1181(dm_build_1183 []byte, dm_build_1184 string) []byte {
	if dm_build_1184 == "UTF-8" {
		return dm_build_1183
	}

	if e := dm_build_1190(dm_build_1184); e != nil {

		tmp, err := ioutil.ReadAll(
			transform.NewReader(bytes.NewReader(dm_build_1183), e.NewDecoder()),
		)
		if err != nil {

			panic("Charset To UTF8 error!")
		}

		return tmp
	}

	panic("Unsupported Charset!")

}

func (Dm_build_1186 *dm_build_932) Dm_build_1185(dm_build_1187 []byte, dm_build_1188 string, dm_build_1189 *DmConnection) string {
	return string(Dm_build_1186.Dm_build_1181(dm_build_1187, dm_build_1188))
}

func dm_build_1190(dm_build_1191 string) encoding.Encoding {
	if e, err := ianaindex.MIB.Encoding(dm_build_1191); err == nil && e != nil {
		return e
	}
	return nil
}

type Dm_build_1192 struct {
	dm_build_1193 io.Reader
	dm_build_1194 transform.Transformer
	dm_build_1195 error

	dm_build_1196                []byte
	dm_build_1197, dm_build_1198 int

	dm_build_1199                []byte
	dm_build_1200, dm_build_1201 int

	dm_build_1202 bool
}

const dm_build_1203 = 4096

func Dm_build_1204(dm_build_1205 io.Reader, dm_build_1206 transform.Transformer, dm_build_1207 []byte, dm_build_1208 []byte) *Dm_build_1192 {
	dm_build_1206.Reset()
	return &Dm_build_1192{
		dm_build_1193: dm_build_1205,
		dm_build_1194: dm_build_1206,
		dm_build_1196: dm_build_1207,
		dm_build_1199: dm_build_1208,
	}
}

func (dm_build_1210 *Dm_build_1192) Read(dm_build_1211 []byte) (int, error) {
	dm_build_1212, dm_build_1213 := 0, error(nil)
	for {

		if dm_build_1210.dm_build_1197 != dm_build_1210.dm_build_1198 {
			dm_build_1212 = copy(dm_build_1211, dm_build_1210.dm_build_1196[dm_build_1210.dm_build_1197:dm_build_1210.dm_build_1198])
			dm_build_1210.dm_build_1197 += dm_build_1212
			if dm_build_1210.dm_build_1197 == dm_build_1210.dm_build_1198 && dm_build_1210.dm_build_1202 {
				return dm_build_1212, dm_build_1210.dm_build_1195
			}
			return dm_build_1212, nil
		} else if dm_build_1210.dm_build_1202 {
			return 0, dm_build_1210.dm_build_1195
		}

		if dm_build_1210.dm_build_1200 != dm_build_1210.dm_build_1201 || dm_build_1210.dm_build_1195 != nil {
			dm_build_1210.dm_build_1197 = 0
			dm_build_1210.dm_build_1198, dm_build_1212, dm_build_1213 = dm_build_1210.dm_build_1194.Transform(dm_build_1210.dm_build_1196, dm_build_1210.dm_build_1199[dm_build_1210.dm_build_1200:dm_build_1210.dm_build_1201], dm_build_1210.dm_build_1195 == io.EOF)
			dm_build_1210.dm_build_1200 += dm_build_1212

			switch {
			case dm_build_1213 == nil:
				if dm_build_1210.dm_build_1200 != dm_build_1210.dm_build_1201 {
					dm_build_1210.dm_build_1195 = nil
				}

				dm_build_1210.dm_build_1202 = dm_build_1210.dm_build_1195 != nil
				continue
			case dm_build_1213 == transform.ErrShortDst && (dm_build_1210.dm_build_1198 != 0 || dm_build_1212 != 0):

				continue
			case dm_build_1213 == transform.ErrShortSrc && dm_build_1210.dm_build_1201-dm_build_1210.dm_build_1200 != len(dm_build_1210.dm_build_1199) && dm_build_1210.dm_build_1195 == nil:

			default:
				dm_build_1210.dm_build_1202 = true

				if dm_build_1210.dm_build_1195 == nil || dm_build_1210.dm_build_1195 == io.EOF {
					dm_build_1210.dm_build_1195 = dm_build_1213
				}
				continue
			}
		}

		if dm_build_1210.dm_build_1200 != 0 {
			dm_build_1210.dm_build_1200, dm_build_1210.dm_build_1201 = 0, copy(dm_build_1210.dm_build_1199, dm_build_1210.dm_build_1199[dm_build_1210.dm_build_1200:dm_build_1210.dm_build_1201])
		}
		dm_build_1212, dm_build_1210.dm_build_1195 = dm_build_1210.dm_build_1193.Read(dm_build_1210.dm_build_1199[dm_build_1210.dm_build_1201:])
		dm_build_1210.dm_build_1201 += dm_build_1212
	}
}
